Job Title: Embedded DevSecOps Software Developer
Job Location: Sterling Heights Michigan 48310
Onsite Requirements:
- Embedded C++
- RTOS
- CI/CD Softwae Loader
Job Description:
- The Embedded Linux/RTOS engineer will focus on integration support for vehicle electronic system. Looking to hire a highly motivated Engineer to support our Software Loader and Verifier team.
Responsibilities:
- Leads activities to develop, document and maintain architectures, requirements, algorithms, interfaces, and designs for software systems.
- Leads development of code and integration of complex software components into a fully functional software system.
- Develops software verification plans, test procedures and test environments, executing the test procedures and documenting test results to ensure software system requirements are met.
- Load components with software images, in order to deploy official software releases in lab environments and vehicles.
- Building and configuring VxWorks, Linux, or other embedded operating systems.
- Perform Linux system programming tasks, including driver development and new hardware enablement on embedded Linux systems.
- Integrate various software into build systems.
- Design, develop, test, deploy, maintain and improve software.
- Enable embedded system security using cryptography and secure architectures.
- Manage individual priorities, deadlines, deliverables.
- Performance optimization of systems and complex pipelines.
Minimum Qualifications:
- Bachelor of Science in Computer Science, Computer Science or Electrical Engineering required.
- 7-10 years relevant work experience.
- Ability to troubleshoot low level software issues and distinguish between hardware and software issues.
- Capable of developing C and/or C++ code that can be maintained and updated over decades.
- Experience with the full software development life cycle: requirements, use-cases, architecture, design, testing, integration, deployment, etc...
- Experience with safety critical systems or real time systems is desirable.
- Strong understanding of programming in an asynchronous environment with multiple processes, threads, timers, interrupts, etc.
- Experience in dealing with existing, complex systems and codebases.
- Working knowledge of hardware bring-up.
- Excellent debugging skills.
- Experience with one or more Linux system image build tools such as Buildroot, or in particular Yocto.
- Experience with Windriver VxWorks and its debugging tools, such as Workbench.
- Experience with Eclipse, GIT, gcc, DOORs, Jira/Bitbucket/Confluence, gdb, or QT is a plus.
- Experience with Agile, gitlab, Continuous Integration and Continuous Deployment concepts, CI agents.
- Experience with type I & II hypervisors is a plus.
- Familiarity with common self-update strategies & open source self-updaters is a strong plus.
- Familiarity with security features such as SELinux, verified boot and trusted execution environments is a plus.
- Experience with Linux device drivers, bootloaders, memory maps or other system programming is a strong plus.
- Demonstrated problem solving skills, learning capabilities, and multitasking capabilities.
- Proficient in Microsoft Office suite applications.
- **3rd party and subcontract staffing agencies are not eligible for partnership on this position. 3rd party subcontractors need not apply.
- This position requires candidates to be eligible to work in the United States, directly for an employer, without sponsorship now or anytime in the future**